#练习 17. 更多文件
"""现在让我们对文件做更多新的操作。我们会写一个 Python 脚本来把一个文件复制成另一个。
代码会非常短，但是能让你学会对文件做更多的操作。"""
# from sys import argv  #导入argv
# from os.path import exists   #导入exists，它会基于一个字符串里面的变量文件名来判断，如果一个文件存在，它就会返回 True，不存在就会返回 False
#
# script, from_file, to_file = argv  #用argv来获取一个文件名
#
# print(f"Copying from {from_file} to {to_file}") #用argv来获取一个文件\
# # 名,和复制文件
#
# # we could do these two on one line, how?
# in_file = open(from_file) #打开文件
# indata = in_file.read() #读文件
#
# print(f"The input file is {len(indata)} bytes long")
#
# print(f"Does the output file exist? {exists(to_file)}") #果一个文件存在，它就会返回 True，不存在就会返False
# print("Ready, hit RETURN to continue, CTRL-C to abort.")
# input()
#
# out_file = open(to_file, 'w')  #表示 文件以只写模式打开
# out_file.write(indata)
# print("Alright, all done.")
#
# out_file.close() #关闭文件
# in_file.close()#关闭文件

#这个脚本真的很烦人。在复制之前其实没必要问你，而且它打印了太多内容，试着通过删掉一些特征让这个脚本更简洁一些。
from sys import argv  #导入argv
from os.path import exists   #导入exists，它会基于一个字符串里面的变量文件名来判断，如果一个文件存在，它就会返回 True，不存在就会返回 False

script, from_file, to_file = argv  #用argv来获取一个文件名

print(f"Copying from {from_file} to {to_file}") #用argv来获取一个文件\
# 名,和复制文件

# we could do these two on one line, how?
in_file = open(from_file) #打开文件
indata = in_file.read() #读文件

print(f"The input file is {len(indata)} bytes long")

print(f"Does the output file exist? {exists(to_file)}") #果一个文件存在，它就会返回 True，不存在就会返False

out_file = open(to_file, 'w')  #表示 文件以只写模式打开
out_file.write(indata)
print("Alright, all done.")

out_file.close() #关闭文件
in_file.close()#关闭文件
